#pragma pnce

#include <iostream>
#include <cstdio>
#include <sys/types.h>
#include <sys/unistd.h>
#include <signal.h>

//将服务进行守护进程化服务
void Daemon()
{
    //1. 忽略IO,及子进程退出等相关信号
    signal(SIGPIPE,SIG_IGN);
    signal(SIGCHLD,SIG_IGN);

    //父进程直接结束
    if(fork()>0)
        exit(0);

    //走到下面就是子进程,孤儿了,父进程就是1
    setsid();//成为一个独立的会话

    //4. 子进程可能与显示器，键盘，stdin,stdout,stderr关联
    //守护进程无需这些
    //方法1: 关闭0,1,2
    //方法2: /dev/null 说明:凡是写入到这个文件的内容不关心,凡是从这个文件读的都是空,将重定向标准输入,标准输出,标准错误重定向到/dev/null
    
}